Method and System for Detecting Events in an Acoustic Signal Subject to Cyclo-Stationary Noise

ABSTRACT

A method detects events in an accoustic signal subject to cyclostationary background noise by first segmenting the signal into cycles. Features with a fixed dimension are derived from the cycles, such that the timing of the features is relative to a cycle time. The features are normalized using an estimate of the cyclostationary background noise. Then, after the normalizing, a classifier is applied to the features to detect the events.

FIELD OF THE INVENTION

The invention relates generally to detecting typically low-energy andrelatively rare acoustic events, and more particularly to detecting theevents in an accoustic signal subject to cyclo-stationary backgroundnoise.

BACKGROUND OF THE INVENTION

Anomalities in mechanisms can sometimes he characterized by theiraccoustic signatures or events. The accoustic events are typically rare,and overwhelmed by background noise. Situations in which this backgroundnoise is cyclo-stationary are common, e.g., with rotating mechanisms,where the background noise signal is not periodic, but its statisticalproperties are periodic.

Detecting relatively rare and typically low-energy events in suchbackground noise can lead to useful applications, but is challenging.One such application is that of vehicle engine knock detection. When anengine rotates at a high speed, and depending on running andenvironmental conditions, uncontrolled explosions can occur at certaincycles, which can lead to potential damage to the engine.

However, sometimes the most fuel efficient operating point correspondsto conditions in which knocks occur, and therefore engine manufacturerstypically try to control their engine such that they run in conditionsas close as possible to knocking conditions, but without creatingsignificant knocks.

Knock detection sensors and devices are required to control the runningconditions of engines. The sensors are typically accelerometers. Thedetection devices, e.g., engine control units, generally tend to rely onsimple filtering and thresholding techniques, and their accuracy islimited. Those devices and sensors are typically tuned by an expert whodetect knocks by listening to the engine and calibrate the sensors sothat: their location as well as their detection thresholds are set suchthat the detections match those of the expert. The expert can usevarious sensors processed through some signal processing methods as sideinformation, e.g., cylinder pressure, ion current, etc. Such calibrationis highly time-consuming, error-prone, tiring, and requires a highlyskilled expert. It would be useful to have a method of replacing orassisting an expert to automatically tune the control unit and sensor.

SUMMARY OF THE INVENTION

The embodiments of the invention provide a method and system fordetecting events in an accoustic signal subject to cyclo-stationarynoise. The invention solves the problem of intermittent event detectionin noisy signals. This can be challenging due to the presence of noise,and the difficulty of obtaining precise labels of the events. Of specialinterest is the case where the noise results from a repetitivemechanism, and hence the noise can be characterized as cyclo-stationary.

The cyclo-stationarity can be exploited by signal processing methods toproduce features that accentuate deviations from the background noise.To detect the events, a classifier or pattern recognizer is trained onfeatures for which labels are available. However, in some applications,only labels at the level of whole segments of signal containing manycycles are available. Nevertheless, some applications require detectionof the precise timing of the events. In this case, a multiple instancelearning objective function can be optimized to produce a classifier forindividual cycles.

The method segments the input acoustic signal into cycles, and thenderives features with a fixed dimension from regions distributed withinthe cycles, such that the timing of the features is relative to thecycle time rather than an absolute time, and a placement of the regionsis a function of a length of each cycle. A number of the regions isfixed for all the cycles. The features are normalized using an estimateof the cyclo-stationary background noise. Optionally, using amodel-based noise suppression method, the features can be enhanced. Themodel-based suppression method can use non-negative matrixfactorization, neural networks, or Gaussian mixture models. Then,pattern recognition is applied to the features to detect the events.

Parameters of the pattern recognition are trained on some labeledtraining data. In some cases, this can be challenging, because of thelack of precise labels. In such cases, multiple instance learning isused.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a method and system for detecting events ina signal subject to cyclo-stationary noise according to embodiments ofthe invention;

FIG. 2 is a timing diagram of window placement in cycles according toembodiments of the invention;

FIG. 3 is a flow diagram of feature processing according to embodimentsof the invention;

FIG. 4 is a flow diagram of training according to embodiments of theinvention; and

FIG. 5 is a flow diagram of testing according to embodiments of theinvention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

As shown in FIG. 1, the embodiments of the invention provide a methodand system for detecting events in an accoustic signal 101 subject tocyclo-stationary noise,. For example, the signal is acquired from arunning engine or machine with an air microphone.

As shown in FIG. 1, the embodiments of our invention provide a methodand system for detecting, in the acoustic signal 101, events subject tocyclo-stationary noise. First, the signal is segmented 110 into cycles111. A timing signal 102 can be used as side information for thesegmenting. For each cycle, features 121 are derived 120 from regionsdistributed within the cycles. For example, the features can be obtainedfrom spectrograms.

The features have fixed dimension, such that the timing of the featuresis relative to the cycle time rather than an absolute time. Backgroundnoise is also estimated 125. Then, the features are normalized 130 usingthe estimate of the cyclo-stationary background noise. Optionally, thefeatures can be enhanced 140 using a model-based noise suppressionprocedure. The model-based suppression procedure can use non-negativematrix factorization, neural networks, or Gaussian mixture models.Lastly, during testing, the events 151 are detected using modelparameters 152 and a classifier or pattern recognizer 150.

The steps of the method can be performed in a processor 100 connected tomemory and input/output interfaces by buses as known in the art. Thesignal 101 can be in the form of time series data including a cyclicpattern of background noise, as well as intermittent events. The cycleintervals are roughly the same length of time, which can be easilydetermined for a particular machine or engine, or otherwise obtainedfrom the timing signal 102, e.g., a spark signal in an internalcombustion signal. We assume here that each single event is locatedwithin one cycle so that the event does not affect the signal outsidethe cycle.

Signal Processing

Tune-Frequency Analysis Robust to Cycle Length

As shown in FIG. 2, we use the timing signal 102 to determine aplacement of a set of windows in each cycle with respect to the inputacoustic signal 101, where τ is an offset, a is an offset ratio, b is ashift ratio, N is a number of windows per cycle, L is a window length,l₁ ^(k) and l₂ ^(k) are the start and end times of the k -th cycleobtained from the timing signal, and T^(k) the length of that: cycle. Apotential role for the offset τ is to synchronize the start and endtimes obtained from the timing signal with what is considered to be thestart and end time of a cycle in the input acoustic signal. The offsetratio a can be used to shift the focus of the set of windows relativelyto the cycle. The number N of windows for each cycle is fixed, while theuse of a shift ratio b allows us to vary the spacing between windows toaccount for variations in the cycle length. This is important in orderto apply a conventional classification algorithm, because the featuresfor such classification, algorithms need to have the same size for allsamples, which are here the cycles.

In the case of engine knock detection, the timing signal can be a sparksignal obtained directly from the distributor. The start and end time ofa cycle in the input acoustic signal can be considered to be the timingof one of the cylinders reaching the position known as top-dead center(TDC), further offset by the time it takes for the sound to travel inthe air from the engine to the microphone with which the input acousticsignal is recorded. The offset r can thus be computed so as to modifythe spark times, obtained from peaks in the spark signal, by accountingfor the relative timing of the spark with respect to TDC, which isrepresented by a spark advance angle in degrees, as well as for adifference in time required to acquire the timing signal and theacoustic signal, which depends on the distance to the microphone. If onedenotes by a [deg] the spark advance angle (e.g., +12 indicates that thespark occurs 12 degrees before TDC), by RPM [rotation per minute] therotation speed (note that by one rotation we here mean 360°, while a“cycle” in a 4-stroke engine corresponds to)720°, d [m] the distance tothe microphone (d=0 for accelerometers), and c [m/s] the speed of sound,we can compute the offset τ to apply to the cycle start and end times toalign them with the microphone signal according to:

$\tau = {\frac{a}{6 \cdot {RPM}} + {\frac{d}{c}.}}$

FIG. 3 shows the details of the feature processing. Input is an acousticsignal 301, and a timing signal 302. For example, for detecting engineknock, the timing signal can be a spark signal. The timing signal isused to extract 303 the start and end times of the cycles.

We denote by x(t) the acoustic signal 301. A time-frequencyrepresentation ofx(t) in each cycle is obtained by applying the set ofwindows described above to x(t) to obtain a set of frames for eachcycle, and taking the discrete Fourier transform of each frame, forexample using the fast Fourier transform algorithm.

If an analysis window of length L is denoted as w, then the n -th frameof the k -th cycle is obtained 310 as

$\begin{matrix}{{{x_{n}^{k}(t)} = {{w(t)} \cdot {x\left( {t_{1}^{k} + \tau + {aT}^{k} - \frac{L}{2} + {\left( {n - 1} \right){bT}^{k}} + t + 1} \right)}}},{t = 0},\ldots \mspace{14mu},{L - 1.}} & (1)\end{matrix}$

In particular, one can use a sine window (square root of the Hannwindow) for analysis:

$\begin{matrix}{{{w(t)} = \sqrt{\frac{1}{2} - {\frac{1}{2}{\cos \left( \frac{2{\pi \left( {t + 1} \right)}}{L} \right)}}}},{t = 0},\ldots \mspace{14mu},{L - 1.}} & (2)\end{matrix}$

Then, the power spectra are determined 320 by taking, for example, the.Fourier transform with the window size or double the window size as theFourier transform size. The power spectrum of the n -th frame of the k-th cycle is

$\begin{matrix}{{X_{n\; \omega}^{k} = {{\sum\limits_{t = 0}^{L - 1}{{x_{n}(t)}^{{- }\; 2\pi \; \omega \frac{t}{2L}}}}}^{2}},{\omega = 0},\ldots \;,{L.}} & (3)\end{matrix}$

Note that one only needs to keep the “non-negative” frequencies, i.e.,from DC to the Nyquist frequency, or ω=0, . . . , L, because the“negative” frequencies, i.e., above Nyquist frequency or ω=L+1, . . .,2L−1, are redundant.

The power spectra for the frames of a cycle are concatenated in the timedimension to obtain a spectrogram-like representation :for the completecycle.

Filtering

We use a filtering technique to remove the cyclo-stationary componentfrom the signal. To do this we compute 305 the background noise asfollows. The general idea is to determine some average X over all cyclesand to use the average to normalize features in each cycle. The simplestexample of such an average is the mean for all cycles independently foreach time-frequency bin:

$\begin{matrix}{{\overset{\_}{X}}_{n\; \omega} = {\frac{1}{K}{\sum\limits_{k \neq 1}^{K}{X_{n\; \omega}^{k}.}}}} & (4)\end{matrix}$

It is understood that other formulations can be used to compute theaverage.

We can then normalize 330 each cycle as follows:

$\begin{matrix}{{{\overset{\Cup}{X}}_{n\; \omega}^{k} = \frac{X_{n\; \omega}^{k}}{{\overset{\_}{X}}_{n\; \omega}}},{\forall k},n,{\omega.}} & (5)\end{matrix}$

If the number of cycles where an event occurs is small compared to thetotal number of cycles K, then the mean is likely to he a good estimatorof the cyclo-stationary component In the other extreme, if the number ofcycles where events occur is large, then we can use more robustestimators, such as the median.

Finally, we apply 340 a logarithm to improve the dynamic range:

{tilde over (X)}_(nω) ^(k)=log {tilde over (X)}_(nω) ^(k), ∀k, n, ω.  (6)

We stack 350 frames into a large vector, and optionally use 360 amax-pool, described below, to obtain feature vectors 370.

Classification

The features can be fed to a classifier to learn the model parameters.However, our task is complicated by the fact that we may not have accessto precise labels or if we do, it may only he for a small number ofsamples. To overcome this issue, we can consider the multiple instanceframework from machine learning in which multiple samples are combinedinto a “bag” with a corresponding label. A positive bag is one which hasone or more positive instances and a negative bag is one in which allinstances are negative.

Before we describe the multiple instance framework, we briefly reviewthe case where labels are available for all training samples. We can uselogistic regression (LR) as the classifier here, as an example, butother classifiers could be used.

Learning with Labels for Each Sample

Logistic Regression (LR) Model

Let {(x¹, y₁), . . . , (x^(m), y_(m))} be a set of training samples,wherex is a feature vector and y_(i) a corresponding label. In ourcontext, x^(j) is a vectorized version of ({tilde over(X)}_(nω))_(n=1, . . . , N;ω=0, . . . , L) defined in Eq. 6, obtained,fbr example, by stacking 350 all frames ({tilde over (X)}_(n)^(i))_(n=1, . . . , N) into a single vector.

Under the logistic regression model with parameters

${\theta = \begin{bmatrix}W \\b\end{bmatrix}},$

the probability that feature vectorx corresponds to a positive sample ismodeled as:

$\begin{matrix}{{{p\left( {{y = \left. 1 \middle| x^{i} \right.},\theta} \right)} = {p_{i} = \frac{1}{1 + ^{{- \theta^{r}}x^{- i}}}}},} & (7)\end{matrix}$

where

${\overset{\sim}{x}}^{i} = \begin{bmatrix}x^{i} \\1\end{bmatrix}$

extends the featu ctor to include a bias term, and the probability thatthe feature vector corresponds to a negative sample as:

$\begin{matrix}{{p\left( {{y = \left. 0 \middle| x^{i} \right.},\theta} \right)} = {q_{i} = {\frac{1}{1 + ^{\theta^{r}x^{i}}} = {1 - {p_{i}.}}}}} & (8)\end{matrix}$

The model parameters 152 are trained so as to maximize the likelihood ofthe training data under the model, which amounts to minimizing thenegative log-likelihood objective function φ^(LR) (θ) defined as

$\begin{matrix}{{{\varphi^{LR}(\theta)} - {\sum\limits_{i}\left\lbrack {{\alpha_{+}y_{i}{\log \left( p_{i} \right)}} + {{\alpha_{-}\left( {1 - y_{i}} \right)}{\log \left( {1 - p_{i}} \right)}}} \right\rbrack} + {\beta_{W}{W}} + {\beta_{b}{b}}},} & (9)\end{matrix}$

where α₊, α _(. . .) , β_(W) and β_(b) are weights. The last two termscorrespond to a regularization of the parameters and usually involveeither the L₁ or L₂ norm of W and/or b, corresponding to priorprobabilities of sparseness and smoothness respectively. A conventionalsetting for α₊ and α _(. . .) is α₊=N₊ and α_(. . .) =N_(. . .) , whereN₊ and N⁻ are the number of positive and negative training samples,respectively. Typically, β_(b) is set to 0, meaning that the bias termis not regularized: the main goal of regularization is to avoid aparticular feature taking too much importance on the training data,leading to overfilling, but there is no such concern for the bias term.

After the parameters θ have been trained, they can be used to giveposterior probabilities on test data. using Eqs. 7 and 8.

FIG. 4 shows the training procedure, which takes as input the acousticsignal 301, the timing signal 302, and event labels 401. Features areprocessed 410 as described, above, and the classifier is trained. 420 bylearning the model parameters 152 using Eqn. (9).

FIG. 5 shows how signals are tested. Inputs are the acoustic signal, thetiming signal, and model parameters 591. Features are processed, asbefore, and the posterior probabilites p(y|x^(i),θ) are computed 510using Eqs (7) and (8). The training and testing steps can be performedin a processor.

Multiple Instance Learning (MIL)

In an multiple instance learning framework, the label information isonly available at the level of a “bag” of multiple instances, instead ofeach single instance or sample. When a bag of samples is given anegative label, it means that all the instances in the bag are negative.However, if a bag is given a positive label, it means that at least one(but maybe more) samples in the bag are positive.

This type of situation typically occurs when an expert labels some dataacquired over a large time interval, and determines whether there was,or not, at least one event in, say, each minute of data, without givingfurther precision as to where that or those event(s) actually occurredwithin the minute.

There are several ways of dealing with such a situation. The first is toperform both training and testing at the level of bags of samples, ineffect falling back onto a situation where a label is given for each“training sample,” a training sample now corresponding to a bag as awhole: in that case, no prediction can be made at the level of a singlecycle, only at the level of a bag of cycles.

An example of such a method consists in “pooling” the features in a bagto obtain a feature vector similar to that of as single sample (here, acycle), and to use the classical framework examplified above withlogistic regression. This is described below.

A second way, which enables detection of events at: the cycle level, isto train a classifier that performs classification at the level of asingle instance by changing the objective function so that onlyinformation at the bag level is used. This is also described below.

Bag-Level Classification with Max Pooling

Let {(B₁, y₁), 9B₂, y₂), . . . , (B_(m), y_(m))} denote a set of bagsand their corresponding labels, where B_(i)=└x^(i1), x^(i2), . . . ,x^(in)′┘, x^(ij) is the j-th feature vector, the feature vector of thej-th cycle, of the i-th bag, and n_(i) is the size of the i-th bag.

We can circumvent the lack of label information at the instance level bysummarizing the instances of a bag into a single sample. Thesesummarized features along with the bag level labels enable us to applyconventional supervised learning methods. One way to summarize theinstances in a bag is to “pool” the features of all elements in the bag,for example using the maximum, which results in a so-called max-poolingprocedure 360. The feature vector for bag B_(i) is defined as:

$\begin{matrix}{{{\hat{x}}_{l}^{i} = {\max\limits_{{j = 1},\ldots \;,n_{i}}\left\{ x_{l}^{ij} \right\}}},{\forall l},} & (10)\end{matrix}$

where l is an index that here corresponds to a pair (n,ω) in thevectorized form of {tilde over (x)}_(nω) ^(ij). By using {({circumflexover (x)}¹, y₁), . . . , ({circumflex over (x)}^(m), y_(m))} as thetraining data, we can apply a conventional classical logistic regressionframework as described above.

However, a disadvantage of this approach is that we have a trained amodel at the bag level, and there is no guarantee that it will performwell at the instance level: in other words, the classifier is trained toclassify feature vectors{circumflex over (x)}′ that are “max-pooled” forelements in a bag B_(i), and may not perform well on one of thenon-pooled feature vectors x^(ij).

Instance-Level Classifier

We now describe a model that works well at the instance and at the baglevel, Such a model, is the most useful in practice because the modelonly requires bag-level labels, while still be able to performinstance-level classification.

We can adapt the logistic regression model to the multiple instanceframework. As described above, in a negative bag, have all elements arenegative, and the probability for a bag B_(i) to be negative under thelogistic regression model with parameter θ is:

$\begin{matrix}{{{p\left( {y = \left. 0 \middle| {B_{i}\theta} \right.} \right)} = {q_{B_{i}} = {{\prod\limits_{j = 1}^{n_{i}}\; {p\left( {{y_{ij} = \left. 0 \middle| x^{ij} \right.},\theta} \right)}} = {\prod\limits_{j = 1`}^{n_{i}}\; q_{ij}}}}},} & (11)\end{matrix}$

where p(y_(ij)=0|x^(ij), θ) is defined similarly as in Eq. 8.

On the other hand, a positive bag only needs to have at least onepositive element to be positive. This is not easily written in terms ofprobabilities on the elements of the bags, and we simply express theprobability for a bag to be positive as that not to be negative:

$\begin{matrix}{{{p\left( {{y = \left. 1 \middle| B_{i} \right.},\theta} \right)} = {p_{B_{i}} = {{1 - {\prod\limits_{j = 1}^{n_{i}}\; {p\left( {{y_{ij} = \left. 0 \middle| x^{ij} \right.},\theta} \right)}}} = {1 - {\prod\limits_{j = 1}^{n_{i}}\; q_{ij}}}}}},} & (12)\end{matrix}$

Similarly to conventional logistic, regression case, the parameters ofthe model can be trained by minimizing the negative log-likelihoodobjective function φ^(MIL) (θ):

$\begin{matrix}{{\varphi^{MIL}(\theta)} = {{- {\sum\limits_{i}\left\lbrack {\alpha,{{y_{i}{\log \left( {1 - {\prod\limits_{j = 1}^{n_{i}}\; q_{ij}}} \right)}} + {{\alpha_{-}\left( {1 - y_{i}} \right)}{\sum\limits_{j = 1}^{n_{i}}{\log \left( q_{ij} \right)}}}}} \right\rbrack}} + {\beta_{W}{W}} + {\beta_{b}{{b}.}}}} & (13)\end{matrix}$

A major difficulty with the above objective function is the presence,inside the logarithm, of a product of potentially many terms that can beeither very small or very close to 1.

Combined Model

The instance-level model can be combined with the bag-level model. Theidea is that when a bag contains a large number of positive instances,it is better summarized by bag-level features, while instance-levelfeatures are. preferred when the number of positive instances is low. Aweighted model, which combines the two approaches is learnt, and theweight parameters are adaptively tuned to the data set.

Optimization of the Instance-Level Classifier

Unlike the logistic regression model, the MIL framework described aboveleads to a non-convex formulation. The gradient: for a positive bag canbe obtained as:

$\begin{matrix}{{{Gradient}\mspace{14mu} {positive}\mspace{14mu} {bag}} = {\frac{\prod\limits_{k = 1}^{n_{i}}\; q_{ik}}{1 - {\prod\limits_{k = 1}^{n_{i}}\; q_{ik}}}\begin{bmatrix}{B_{i}p_{i}} \\{1^{T}p_{i}}\end{bmatrix}}} & (14)\end{matrix}$

where p₁=[p_(i1) ,p_(i2) , . . . , p_(m) _(i) ] is the vector ofprobabilities for the instances in bag i being positive, q_(ik)=1−p_(ik)and I is a vector of all ones. The gradient for a negative bag is thesame as in the case of logistic regression and is as follows:

$\begin{matrix}{{{Gradient}\mspace{14mu} {negative}\mspace{14mu} {bag}} = {\sum\limits_{k}{q_{ik}{\overset{\sim}{x}}_{ik}{{\exp \left( {\theta^{T}{\overset{\sim}{x}}_{i}} \right)}.}}}} & (15)\end{matrix}$

Instead of computing the Hessian H, we provide a matrix-free version ofthe Hessian vector product computation. That is, given some vector v,one can efficiently compute the matrix vector product Hv, as follows:

$\begin{matrix}{{H\; \upsilon} = {{\sum\limits_{k = 1}^{n_{i}}{q_{ik}{p_{ik}\left( {\upsilon^{\top}{\hat{x}}_{i}} \right)}{\hat{x}}_{i}}} - {p_{i}{\frac{{\overset{\sim}{x}}_{ik}{\upsilon^{\top}\left( {\sum_{j}{{\overset{\sim}{x}}_{i}p_{ij}}} \right)}}{1 - {\Pi_{k}q_{ik}}}.}}}} & (16)\end{matrix}$

The gradient combined with the Hessian can be input to conventionaloptimization procedures, as Newton conjugate gradient, to miminize theMIL objective, Because the problem is non-convex we can only expectlocal convergence and good initializers are key to finding meaningfulsolutions.

Although the invention has been described by way of examples ofpreferred embodiments, it is to be understood that various otheradaptations and modifications can be made within the spirit and scope ofthe invention. Therefore, it is the object of the appended claims tocover all such variations and modifications as come within the truespirit and scope of the invention.

We claim:
 1. A method for detecting events in a signal subject tocyclostationary background noise, wherein the signal is an acousticsignal, comprising, the steps of: segmenting the signal into cycles;deriving features with a. fixed dimension from the cycles, such that thetiming of the features is relative to a cycle time; normalizing thefeatures using an estimate of the cyclostationary background noise;applying, after the normalizing, a classifier to the features to detectthe events, wherein the steps are performed in a processor.
 2. Themethod of claim 1, further comprising acquiring, using an airmicrophone, the signal from a running engine or machine.
 3. The methodof claim 1, further comprising: enhancing the features using amodel-based cyclo-stationary noise suppression method.
 4. The method ofclaim 1, wherein the signal is modeled as a sum of a cyclostationarycomponent and an event component.
 5. The method of claim 1, wherein thesegmenting further comprises: estimating a start time and an end time ofeach cycle.
 6. The method of claim 1, wherein the features are derivedfrom regions distributed within the cycles, such that a placement of theregions is a function of a length of each cycle.
 7. The method of claim6, wherein a number of the regions is fixed for all the cydes to derivefeatures having fixed dimension in the cycles.
 8. The method of claim 6,wherein the regions are analysed using a square root of Hann window. 9.Thmethod of of claim 1, wherein the features are derived fromspectrograms.
 10. The method of claim 1, wherein the. classifier useslogistic regression.
 11. The method of claim 1, wherein the classifieruses multiple instance logistic regression.
 12. The method of claim 1,wherein, after the normalizing, the features are pooled for multiplecycles.
 13. The method of claim 3, wherein the model-basedcyclostationary noise suppression method is based on non-negative matrixfactorization.
 14. The method of claim 3, wherein the model-basedcyclostationary noise suppression method is based on artificial neuralnetworks.
 15. The method of claim 3, wherein the model-basedcyclostationary noise suppression method is based on Gaussian mixturemodels.
 16. The method of claim 2, wherein the segmenting is accordingto a timing signal.
 17. The method of claim 16, wherein the timingsignal is a spark signal.
 18. The method of claim 1, further comprising:estimating a start time and an end time of each cycle, and wherein theestimating includes an offset to synchronize a start and an end timeobtained from a timing signal with a start and end times of the cycle.19. The method of claim 19, wherein the offset accounts for a differencein time required to acquire the timing signal and the acoustic signal.20. The method of claim 2, wherein the events are engine knocks.